package br.com.projeto.web.vraptor.controllers;

import java.util.List;

import br.com.caelum.vraptor.Get;
import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Post;
import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
import br.com.caelum.vraptor.view.Results;
import br.com.projeto.model.EquipeModel;
import br.com.projeto.model.ProjetoModel;
import br.com.projeto.model.entities.Projeto;
import br.com.projeto.web.vraptor.componentes.SessionUser;

@Resource
public class ProjetosController {

	private SessionUser user;
	private EquipeModel equipeModel;
	private ProjetoModel projetoModel;
	private Result result;

	public ProjetosController(SessionUser user, EquipeModel equipeModel, ProjetoModel projetoModel,
			Result result) {
		this.user = user;
		this.equipeModel = equipeModel;
		this.projetoModel = projetoModel;
		this.result = result;
	}
	
	@Get
	@Path("/projetos")
	public List<Projeto> index() {
		result.include("cabecalho", "Lista de Projetos");
		return this.equipeModel.obterProjetos(user.getEquipe());
	}
	
	@Get
	@Path("projetos/novo")
	public void novo() {
		
	}
	
	@Post
	@Path("/projetos/novo")
	public void criar(Projeto projeto) {
		
	}
	

	@Get
	@Path("/projetos/selecionar/{projeto.id}")
	public void alterarProjeto(Projeto projeto, String path) {
		user.setProjeto(this.projetoModel.obter(projeto));
		if(path == null)
		result.use(Results.logic()).redirectTo(MainController.class).home();
		else 
			result.use(Results.page()).redirect(path);
	}
	
}
